package com.bupt.liutong.admin.groupon.dao;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.bupt.liutong.admin.core.base.Ibatis;
import com.bupt.liutong.admin.groupon.dto.Groupon;

public class GrouponDao {

	@Autowired
	private Ibatis ibatis;

	@SuppressWarnings("unchecked")
	public List<Groupon> getGrouponsByPage(Groupon groupon) {
		return (List<Groupon>) ibatis.queryForPage("groupon.getGroupons", groupon);
	}

	public Groupon getGrouponById(Integer id) {
		return (Groupon) ibatis.queryForObject("groupon.getGrouponById", id);
	}
	
	@SuppressWarnings("unchecked")
	public List<Groupon> getGrouponByCityId(Integer cityId) {
		return (List<Groupon>) ibatis.queryForList("groupon.getGrouponsByCityId", cityId);
	}

	/**
	 * 查询重复的团购信息条目，根绝cityId，websiteId，title的前10个字
	 * 
	 * @param groupon
	 * @return
	 */
	public Groupon getDupGroupon(Groupon groupon) {
		return (Groupon) ibatis.queryForObject("groupon.getDupGroupon", groupon);
	}

	public void insertGroupon(Groupon groupon) {
		ibatis.insert("groupon.insertGroupon", groupon);
	}

	public void createBackupTable(String tablePostfix) {
		ibatis.update("groupon.createBackupTable", tablePostfix);
	}

	public void backupGroupon(String tablePostfix) {
		ibatis.update("groupon.backupGroupon", tablePostfix);
	}

	public void backupFuzzyTimeGroupon(String tablePostfix) {
		ibatis.update("groupon.backupFuzzyTimeGroupon", tablePostfix);
	}
	
	public void deleteOrigGroupon(String tablePostfix){
		ibatis.delete("groupon.deleteOrigGroupon", tablePostfix);
	}
	
	public void deleteOrigFuzzyTimeGroupon(String tablePostfix){
		ibatis.delete("groupon.deleteOrigFuzzyTimeGroupon", tablePostfix);
	}

	public void setIbatis(Ibatis ibatis) {
		this.ibatis = ibatis;
	}
}
